package com.allen.app.common.config.swagger.common;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 用于隐藏{@link RequestBody}注解的参数对象中的部分属性，让model参数对象可以复用
 * 注意::: api @ApiImplicitParam body注解要去掉,否则隐藏不掉参数
 * ApiModel需要(description = "测试用户") @ApiModelProperty(notes = "id", dataType = "Integer")
 *
 * @author Leon (234239150@qq.com) created in 11:27 18.9.13
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiHideBodyProperty {
    HideType type() default HideType.HIDE;
    String[] value() default {};
}
